package icasue.stronger.register;

import icasue.stronger.annotation.RuntimeReference;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.annotation.Autowired;

import javax.annotation.Resource;
import java.lang.annotation.Annotation;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;

/**
 * @Author: Qiao Hang
 * @CreateDate: 2020/6/29 下午7:56
 * @UpdateDate:
 * @Description:
 */
public class StrongerProxyBuffer {

    public static BeanFactory beanFactory;

    public static final ConcurrentHashMap<Class<?>, Object> proxyBuffer = new ConcurrentHashMap<>();

    public static final ConcurrentHashMap<String, Object> proxyComponentNameMappingBuffer = new ConcurrentHashMap<>();

    public static final List<Class<? extends Annotation>> referenceMarkAnnotations =
            Arrays.asList( Autowired.class, Resource.class, RuntimeReference.class );
}
